Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stardew Valley: Fix a bug where walnutsanity would get deactivated even tho ginger island got forced activated (and move some files) #4311

Conversation

Jouramie
Copy link
Contributor

@Jouramie Jouramie commented Dec 1, 2024

What is this fixing or adding?

🙄
image

This fixes a bug with the options force activation where ginger island would get activated because of a ginger island goal, but walnutsanity would get deactivated right after. This happens because the exclude_ginger_island variable was not refreshed after ginger island got activated.

This branch also contains a bunch of moved files to regroup option related stuff in their own module. If you want to review specifically the fix, it is in this commit: af14bcb

How was this tested?

  • Wrote some unit tests to validate specifically the function forcing options activation
  • Generate games with the walnut hunter goal, walnutsanity settings and ginger island excluded/included. With those changes, walnutsanity stay active.

If this makes graphical changes, please attach screenshots.

N/A

@github-actions github-actions bot added the waiting-on: peer-review Issue/PR has not been reviewed by enough people yet. label Dec 1, 2024
@Jouramie Jouramie changed the title Stardew Valley: Fix a bug where walnutsanity would get deactivated even tho ginger island got forced activated Stardew Valley: Fix a bug where walnutsanity would get deactivated even tho ginger island got forced activated (and move some files) Dec 1, 2024
@agilbert1412 agilbert1412 added is: bug/fix Issues that are reporting bugs or pull requests that are fixing bugs. is: refactor/cleanup Improvements to code/output readability or organizization. labels Dec 1, 2024
Comment on lines +7 to +10
try:
from Options import OptionGroup
except ImportError:
logging.warning("Old AP Version, OptionGroup not available.")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you need this still?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably not, but I would rather not change too much the content of this file, since it was only supported to be moved.

@@ -112,36 +113,9 @@ def interpret_slot_data(self, slot_data: Dict[str, Any]) -> Optional[int]:
return seed

def generate_early(self):
self.force_change_options_if_incompatible()
force_change_options_if_incompatible(self.options, self.player, self.player_name)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason this doesn't just pass the world and you grab the options, player, and name off that?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It makes it easier to test specifically that options were changed without creating a complete world. We've often been rightfully criticized for generating too many worlds just to test small things that could be unit tested, so I'm slowly trying to address that.

See in TestForcedOptions.py

Copy link
Member

@Exempt-Medic Exempt-Medic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall it seems fine. Tested some generations to see the new warnings. Did not look at any of the test changes (don't really see why I would). Checked the file refactoring through text comparisons and before/after were the same aside from things like options. being removed. Had some comments on the changes (see above), but it's mostly fine. Honestly, I'm surprised world_options.walnutsanity != options.Walnutsanity.preset_none works the way it does, but it seems to so that's good.

@Jouramie Jouramie requested a review from agilbert1412 December 2, 2024 01:56
@agilbert1412 agilbert1412 added waiting-on: core-review Issue/PR has been peer-reviewed and is ready to be merged or needs input from a core maintainer. and removed waiting-on: peer-review Issue/PR has not been reviewed by enough people yet. labels Dec 2, 2024
Copy link
Member

@Berserker66 Berserker66 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

25 files changed for a bugfix is probably a new record.

@Berserker66 Berserker66 merged commit 51c4fe8 into ArchipelagoMW:main Dec 9, 2024
16 checks passed
@Jouramie Jouramie deleted the StardewValley/fix-walnut-force-options-change branch December 9, 2024 02:05
@agilbert1412
Copy link
Collaborator

25 files changed for a bugfix is probably a new record.

image

Ars-Ignis added a commit to Ars-Ignis/Archipelago that referenced this pull request Dec 27, 2024
commit 3bcc86f5391ea00d220bf6bf094a4a08801b162b
Author: Kory Dondzila <[email protected]>
Date:   Fri Dec 27 15:07:55 2024 -0500

    Shivers: Add events and fix require puzzle hints logic (#4018)

    * Adds some events, renames things, fails for many players.

    * Adds entrance rules for requires hints.

    * Cleanup and add goal item.

    * Cleanup.

    * Add additional rule.

    * Event and regions additions.

    * Updates from merge.

    * Adds collect behavior option.

    * Fix missing generator location.

    * Fix whitespace and optimize imports.

    * Switch location order back.

    * Add name replacement for storage.

    * Fix test failure.

    * Improve puzzle hints required.

    * Add missing locations and cleanup indirect conditions.

    * Fix naming.

    * PR feedback.

    * Missed comment.

    * Cleanup imports, use strings for option equivalence, and update option description.

    * Fix rule.

    * Create rolling buffer goal items and remove goal items and location from default options.

    * Cleanup.

    * Removes dateutil.

    * Fixes Subterranean World information plaque.

commit 218f28912e0e120e4cf91a63aba627e91cc451c5
Author: BadMagic100 <[email protected]>
Date:   Fri Dec 27 12:04:02 2024 -0800

    Core: Generic Entrance Rando (#2883)

    * Initial implementation of Generic ER

    * Move ERType to Entrance.Type, fix typing imports

    * updates based on testing (read: flailing)

    * Updates from feedback

    * Various bug fixes in ERCollectionState

    * Use deque instead of queue.Queue

    * Allow partial entrances in collection state earlier, doc improvements

    * Prevent early loops in region graph, improve reusability of ER stage code

    * Typos, grammar, PEP8, and style "fixes"

    * use RuntimeError instead of bare Exceptions

    * return tuples from connect since it's slightly faster for our purposes

    * move the shuffle to the beginning of find_pairing

    * do er_state placements within pairing lookups to remove code duplication

    * requested adjustments

    * Add some temporary performance logging

    * Use CollectionState to track available exits and placed regions

    * Add a method to automatically disconnect entrances in a coupled-compliant way

     Update docs and cleanup todos

    * Make find_placeable_exits deterministic by sorting blocked_connections set

    * Move EntranceType out of Entrance

    * Handle minimal accessibility, autodetect regions, and improvements to disconnect

    * Add on_connect callback to react to succeeded entrance placements

    * Relax island-prevention constraints after a successful run on minimal accessibility; better error message on failure

    * First set of unit tests for generic ER

    * Change on_connect to send lists, add unit tests for EntranceLookup

    * Fix duplicated location names in tests

    * Update tests after merge

    * Address review feedback, start docs with diagrams

    * Fix rendering of hidden nodes in ER doc

    * Move most docstring content into a docs article

    * Clarify when randomize_entrances can be called safely

    * Address review feedback

    * Apply suggestions from code review

    Co-authored-by: Aaron Wagener <[email protected]>

    * Docs on ERPlacementState, add coupled/uncoupled handling to deadend detection

    * Documentation clarifications

    * Update groups to allow any hashable

    * Restrict groups from hashable to int

    * Implement speculative sweeping in stage 1, address misc review comments

    * Clean unused imports in BaseClasses.py

    * Restrictive region/speculative sweep test

    * sweep_for_events->advancement

    * Remove redundant __str__

    Co-authored-by: Doug Hoskisson <[email protected]>

    * Allow partial entrances in auto indirect condition sweep

    * Treat regions needed for logic as non-dead-end regardless of if they have exits, flip order of stage 3 and 4 to ensure there are enough exits for the dead ends

    * Typing fixes suggested by mypy

    * Remove erroneous newline

    Not sure why the merge conflict editor is different and worse than the normal editor. Crazy

    * Use modern typing for ER

    * Enforce the use of explicit indirect conditions

    * Improve doc on required indirect conditions

    ---------

    Co-authored-by: qwint <[email protected]>
    Co-authored-by: alwaysintreble <[email protected]>
    Co-authored-by: Doug Hoskisson <[email protected]>

commit b9642a482f67f2358f13d2306a90673fc4f8fd9a
Author: Exempt-Medic <[email protected]>
Date:   Thu Dec 26 17:04:21 2024 -0500

    KH2: Using fast_fill instead of fill_restrictive (#4227)

commit 33ae68c756f71eac6203b302db0144dee04ab09f
Author: Mysteryem <[email protected]>
Date:   Thu Dec 26 13:50:18 2024 +0000

    DS3: Convert post_fill to stage_post_fill for better performance (#4122)

    Co-authored-by: Exempt-Medic <[email protected]>

commit 62942704bdea4ba0f79cb88580d5214b31b750b5
Author: NewSoupVi <[email protected]>
Date:   Wed Dec 25 21:55:15 2024 +0100

    The Witness: Add info about which door items exist in the pool to slot data (#3583)

    * This feature is just broken lol

    * simplify

    * mypy

    * Expand the unit test for forbidden doors

commit fe810535211ca9ab57ed3b7649a272035d59e3a7
Author: NewSoupVi <[email protected]>
Date:   Wed Dec 25 21:53:05 2024 +0100

    Core: Give the option to worlds to have a remaining fill that respects excluded locations (#3738)

    * Give the option to worlds to have a remaining fill that respects excluded

    * comment

commit 222c8aa0ae0ebbedb9884812087c38e15e381ed1
Author: NewSoupVi <[email protected]>
Date:   Wed Dec 25 21:47:51 2024 +0100

    Core: Reword item classification definitions to allow for progression + useful (#3925)

    * Core: Reword item classification definitions to allow for progression + useful

    * Update network protocol.md

    * Update world api.md

    * Update Fill.py

    * Docstrings

    * Update BaseClasses.py

    * Update advanced_settings_en.md

    * Update advanced_settings_en.md

    * Update advanced_settings_en.md

    * space

commit 845000d10faa8cdf1c6ac293dcdfecc4c69a213d
Author: NewSoupVi <[email protected]>
Date:   Wed Dec 25 21:47:17 2024 +0100

    Docs: Make an actual LogicMixin spec & explanation (#3975)

    * Docs: Make an actual LogicMixin spec & explanation

    * Update world api.md

    * Update world api.md

    * Update world api.md

    * Update world api.md

    * Update world api.md

    * Update world api.md

    * Update world api.md

    * Update world api.md

    * Update world api.md

    * Update world api.md

    * Update docs/world api.md

    Co-authored-by: Exempt-Medic <[email protected]>

    * Update docs/world api.md

    * Update world api.md

    * Code corrections / actually follow own spec

    * Update docs/world api.md

    Co-authored-by: Scipio Wright <[email protected]>

    * Update world api.md

    * Update world api.md

    * Reorganize / Rewrite the parts about optimisations a bit

    * Update world api.md

    * Write a big motivation paragraph

    * Update world api.md

    * Update world api.md

    * line break issues

    * Update docs/world api.md

    Co-authored-by: Scipio Wright <[email protected]>

    * Update docs/world api.md

    Co-authored-by: Scipio Wright <[email protected]>

    * Update docs/world api.md

    Co-authored-by: Scipio Wright <[email protected]>

    * Update world api.md

    * Update docs/world api.md

    Co-authored-by: Scipio Wright <[email protected]>

    ---------

    Co-authored-by: Exempt-Medic <[email protected]>
    Co-authored-by: Scipio Wright <[email protected]>

commit b05f81b4b4f8f63368c7ebcf0aa5d3223357e1ce
Author: NewSoupVi <[email protected]>
Date:   Wed Dec 25 10:58:27 2024 +0100

    The Witness: Fix bridge/elevator items being progression when they shouldn't be #4392

commit 6c1dc5f645ad215347eaecc2a5f5de0d2fd13365
Author: Mysteryem <[email protected]>
Date:   Wed Dec 25 01:44:47 2024 +0000

    Landstalker: Fix paths Lantern logic affecting other Landstalker worlds (#4394)

    The data from `WORLD_PATHS_JSON` is supposed to be constant logic data
    shared by all Landstalker worlds, but `add_path_requirements()` was
    modifying this data such that after adding a `Lantern` requirement for a
    dark region, subsequent Landstalker worlds to have their logic set could
    also be affected by this `Lantern` requirement and previous Landstalker
    worlds without damage boosting logic could also be affected by this
    `Lantern` requirement because they could all be using the same list
    instances. This issue would only occur for paths that have
    `"requiredItems"` because all paths without required items would create
    a new empty list, avoiding the problem.

    The items in `data["itemsPlacedWhenCrossing"]` were also getting added
    once for each Landstalker player, but there are no paths that have both
    `"itemsPlacedWhenCrossing"` and `"requiredItems"`, so all such cases
    would start from a new empty list of required items and avoid modifying
    `WORLD_PATHS_JSON`.

commit 5578ccd578be4aff3b4542970f8bd7cacac5c526
Author: Dinopony <[email protected]>
Date:   Tue Dec 24 20:08:03 2024 +0100

    Landstalker: Fix issues on generation (#4345)

commit 78637c96a747dd15584fb85a281d447b8307ebe0
Author: Mysteryem <[email protected]>
Date:   Tue Dec 24 17:38:46 2024 +0000

    Tests: Add spheres test for missing indirect conditions (#3924)

    Co-authored-by: Fabian Dill <[email protected]>
    Co-authored-by: NewSoupVi <[email protected]>
    Co-authored-by: Exempt-Medic <[email protected]>

commit f3ec82962e18ec3a57e1f1984ba5270b0b0d145a
Author: Richard Snider <[email protected]>
Date:   Sun Dec 22 18:05:43 2024 +0000

    Core: Add JSONMessagePart for Hint Status (Hint Priority) (#4387)

    * add hint_status JSONMessagePart handling

    * add docs for hint_status JSONMessagePart

    * fix link ordering

    * Rename hint_status type in docs

    Co-authored-by: Emily <[email protected]>

    * Remove redundant explanation of hint_status field

    Co-authored-by: Emily <[email protected]>

    * Fix formatting on hint status docs again

    Co-authored-by: Emily <[email protected]>

    ---------

    Co-authored-by: Emily <[email protected]>

commit 4f590cdf7b5aa2be95e4ed9cf7c7be95443456e8
Author: DrBibop <[email protected]>
Date:   Sat Dec 21 17:12:35 2024 -0500

    Inscryption: Implement new game (#3621)

    * Worked locally before that so this is a lot of work . So, initial push

    * Changes in init with better create_regions (Thanks to Phar on discord). Add a rule for victory. Change the regions list to remove menu in the destination.

    * Added tests for location rules and changed rule locations to lists instead of sets

    * Fixed game var in InscryptionLocation

    * Fixed location access by using the same system from The Messenger

    * Remove unuse rules in init and add region rules. Add all the act 2 locations and items.

    * Add locations rule for the left of the bridge in act 2

    * Added test for bridge requirement and added a dash to locationfor clarity

    * Added more act 2 rules and removed completion rule

    * Created docs for website, added Salmon Card item, marked multiple items as "progression", renamed tomb checks, added more location rules, re-added completion rule

    * Renamed tower bath check to "Tentacle", added monocle as requirement for some checks, adjusted setup doc a bit

    * Added tentacle to monocle test

    * Added forest burrow chest rule

    * Switch the two clock location because the id was swapped and screwed with the logic

    * Added Ancient Obol rule and adjusted docs

    * Added act 3 locations/items/rules/tests

    * Added drone & battery to trader rules

    * Fixed tutorial docs, added more act 3 rules, renamed holo pelt locations

    * Add an option for the optional death card feature

    * Added well check and quill item, added rules and tests

    * Renamed Gems module and Gems drone

    * Added slot data options

    * Added rule for act 3 middle pelt

    * Added option for randomize ability and uptade the randomize deck option to fit the new setup

    * Added randomize ability in slot data

    * Added more requirements for mycologists boss since it's pretty much an impossible fight early on

    * Finished the french translation of the installation guide

    * Changed the french title in the guide

    * Added goal option and tests associated to it + fixed goal requirement missing quill

    * Added goal option to docs and removed references to the now discarded API mod. Fixed some french translations.

    * Added ourobot item + renamed some goal settings

    * Fixed locations and items for act 1 goal

    * Added skip tutorial option. Cleanup and rename of some options. Added tower requirement for Mycologist Key check. Fixed missing comma in act 2 locations oopsies.

    * Added missing rules for Extra Battery, Nano Armor and Goobert's painting

    * Added act 1 deathlink behaviour and epitaph pieces randomization options + made pieces progressive + adjusted docs

    * Fixed some docs typos

    * Added act 3 clock rule. Paintings 2, 3 and Goobert's painting can no longer contain progression items.

    * New options system and fixed act 1 goal option breaking

    * Added skip epilogue and painting checks balancing options. Renamed randomize abilities to randomize sigils. Fixed generation issue with epitaph pieces randomization. Goobert's painting no longer forces filler. Removed traps option for now. Reworded some option descriptions.

    * Attempting type fix for python 3.8

    * Attempting type fix for python 3.8 again

    * Added starting only option for randomize deck

    * Fixed arbitrary rule error

    * Import fix attempt

    * Migrated to DeathLinkMixin instead of creating a custom DeathLink option, cleaned up imports, renamed Death Link related options to include "death_link" instead of "deathlink", replaced numeral values for option checking into class attributes for readability, slight optimization to tower rule, fixed typo in codes option description.

    * Added bug report page to web class, condensed pelt rules to one function, added items/locations count in game docs and adjusted some sections

    * Added Inscryption to CODEOWNERS

    * Implemented a bunch of suggestions: Better handling of painting option, options as dict for slot data, remove redundant auto_display_name, use of has_all, better goal tests, demote skink card to filler if goal is act 1 and force filler on paintings

    * Makes clover plant and squirrel head progression items if paintings are balanced + fixed other issues

    * filler items, start inventory from pool, '->"

    * Fix bleeding issue

    * Copy the list instead

    * Fixed bleeding using proper deep copy

    * Remove unnecessary for loops in tests

    * Add defaults to choice options

    ---------

    Co-authored-by: Benjamin Gregoire <[email protected]>
    Co-authored-by: Exempt-Medic <[email protected]>
    Co-authored-by: Exempt-Medic <[email protected]>
    Co-authored-by: NewSoupVi <[email protected]>

commit 46613adceb4c34676f1bbda29b0fe2960667c19a
Author: Kaito Sinclaire <[email protected]>
Date:   Sat Dec 21 11:39:38 2024 -0800

    SMZ3: Fix minimal logic considering SM boss tokens unnecessary (#4377)

commit e1a1cd10678ce4170a6ae5b609db815c516af193
Author: threeandthreee <[email protected]>
Date:   Fri Dec 20 07:55:32 2024 -0500

    LADX: Open Mabe Option (#3964)

    * open mabe option
    swaps east mabe rocks for bushes

    * add open mabe to slot data

    * use upstream overworld option
    Instead of a standalone option, use upstream's "overworld" option, which we don't use yet but it leaves better space for the future

    * use ladxr_setting for consistency

    * newline

commit 7c8d102c1760b519dfdc2fd5143849cc4db162e6
Author: Scipio Wright <[email protected]>
Date:   Thu Dec 19 23:45:29 2024 -0500

    TUNIC: Logic for bushes in guard house 2 upper and belltower (#4371)

    * Logic for bushes in guard house 2 upper

    * Fix typo

    * also do it for forest belltower

    * i love the dumb ice grapples

commit 35d30442f70ddaebadb3617a97e2841dc27bda2d
Author: threeandthreee <[email protected]>
Date:   Thu Dec 19 22:53:58 2024 -0500

    LADX: fix for syntax warning (#4376)

    * init

    * whitespace

    * raw string instead

commit 4f71073d174c58c7418b83e2f46960fd1ccc9fd3
Author: threeandthreee <[email protected]>
Date:   Thu Dec 19 22:17:41 2024 -0500

    LADX: correct in-game check counter

    LADX: correct in-game check counter

commit e142283e649d7cba0431d297ee1b1ccfffce5483
Author: threeandthreee <[email protected]>
Date:   Thu Dec 19 21:19:00 2024 -0500

    LADX: enable upstream options (#3962)

    * enable some upstream settings

    * flashing just disabled, no setting

    * just enable fast text

    * noflash and textmode as hidden options

    * typo

    * drop whitespace changes

    * add hard mode to slot data

    * textmode adjustments
    fast text default (fixing mistake)
    remove no text option (its buggy)

    * unhide options

    * Update worlds/ladx/Options.py

    Co-authored-by: Exempt-Medic <[email protected]>

    * adjustments

commit de3707af4a4090449a30d228e5b21c3169f30016
Author: palex00 <[email protected]>
Date:   Fri Dec 20 02:47:33 2024 +0100

    Core/Docs: Adding apostrophe quotes around variables in printed error messages (#3914)

    * Also indents plando_connections properly

    * Adding apostrophe quotes around item, location, entrance/exit and boss names to make errors more readable

    * Update plando_en.md

    * Fixing test in Lufia II

commit 2e0769c90ec27f155c1de3f6141c641c1f9c341b
Author: Scipio Wright <[email protected]>
Date:   Thu Dec 19 20:30:41 2024 -0500

    Noita: Make greed die a trap (#4382)

    Noita make greed die a trap

commit 1ded7b2fd4486d116a8f86c19fb1eb3be210a021
Author: Louis M <[email protected]>
Date:   Thu Dec 19 20:17:56 2024 -0500

    Aquaria: Replacing the release link to the latest link (#4381)

    * Replacing the release link to the latest link

    * The fr link was not working

commit cacab68b779a28f8401c5a3a34d26d609054bd75
Author: Bryce Wilson <[email protected]>
Date:   Mon Dec 16 00:06:48 2024 -0800

    Pokemon Emerald: Remove unnecessary code (#4364)

commit 728d2492020ee3f75d421a7263308c6feb64e56a
Author: NewSoupVi <[email protected]>
Date:   Sun Dec 15 23:30:35 2024 +0100

    Core: Add some more world convenience methods (#3021)

    * Add some more convenience methods

    * Typing stuff

    * Rename the method

    * beauxq's suggestions

    * Back to Push Precollected

commit d1823a21ea891c8d949cc0a5371059b265ff0cb4
Author: qwint <[email protected]>
Date:   Sun Dec 15 16:48:44 2024 -0500

    HK: add random handling to plandocharmcosts (#4327)

commit 6282efb13c9842a2c01eb6551d23b5d448f2d91c
Author: Scipio Wright <[email protected]>
Date:   Sun Dec 15 16:40:36 2024 -0500

    TUNIC: Additional Combat Logic Option (#3658)

commit 0fdc14bc42a8af64a17454c42d25f5c037e95309
Author: Benjamin S Wolf <[email protected]>
Date:   Sun Dec 15 13:29:56 2024 -0800

    Core: Deduplicate exception output (#4036)

    When running Generate.py, uncaught exceptions are logged once to a file and twice to the console due to keeping the original excepthook. We can avoid this by filtering the file log out of the stream handler.

commit 0370e669e57e767f8af23cc08b05468da8a72895
Author: Mysteryem <[email protected]>
Date:   Sun Dec 15 21:28:51 2024 +0000

    Pokemon Emerald: Add Mr Briney's House indirect conditions (#4154)

    The `REGION_DEWFORD_TOWN/MAIN -> REGION_ROUTE109/BEACH` and
    `REGION_ROUTE109/BEACH -> REGION_DEWFORD_TOWN/MAIN` entrances require
    access to the
    `REGION_ROUTE104_MR_BRINEYS_HOUSE/MAIN -> REGION_DEWFORD_TOWN/MAIN`
    entrance in their access rules, so require indirect conditions for the
    parent_region of the entrance: `REGION_ROUTE104_MR_BRINEYS_HOUSE/MAIN`.

commit ccea6bcf51143d9b87543e9f03e17088ccf44667
Author: threeandthreee <[email protected]>
Date:   Fri Dec 13 16:49:30 2024 -0500

    LADX: Improve icon guesses for foreign items (#2201)

    * synonyms to new file, many added

    * handle singular rupee

    * remove redundant map and compass entries

    * automatic pluralization

    * add guardian acorn and piece of power

    * move phrases to ItemIconGuessing.py

    * organize, comment

    * fix tab spacing

    * fix

    * add tunic and noita synonyms

    * remove triangle instrument synonym

    * reorganize, add some matches

    * add tunic lucky up

    Co-authored-by: Scipio Wright <[email protected]>

    * Update worlds/ladx/ItemIconGuessing.py

    Co-authored-by: Scipio Wright <[email protected]>

    * handle camelCase and single rupee

    * add indicate_progression option
    Adds alternative system for foreign item icons that simply indicates whether or not the item is a progression item.

    * improve splitting
    drops some more characters, and also dont bother with rejoined stuff in name_cache because our splitting is better

    * the witness stuff

    * forbid more

    * remove boost and surge

    * Update worlds/ladx/ItemIconGuessing.py

    Co-authored-by: NewSoupVi <[email protected]>

    * match by game name
    look at the name of the foreign game and only use game-specific entries for that game

    * show message for all key drops

    * updates from async test

    * vi suggestions

    * Adding FNAFW suggestions from @lolz1190 (#40)

    * Adding FNAFW suggestions from @lolz1190

    * missing comma

    ---------

    Co-authored-by: threeandthreee <[email protected]>

    ---------

    Co-authored-by: Scipio Wright <[email protected]>
    Co-authored-by: NewSoupVi <[email protected]>
    Co-authored-by: palex00 <[email protected]>

commit 8d9454ea3bca864cc0e3f20f39563966feeffb86
Author: qwint <[email protected]>
Date:   Thu Dec 12 15:36:56 2024 -0500

    Core: cast all the settings values so they don't try to get pickled later #4362

commit 1ca8d3e4a8b4a4a3850a0829c7c934bc4f8475c6
Author: qwint <[email protected]>
Date:   Thu Dec 12 15:24:38 2024 -0500

    Docs: add description of Indirect Condition problem (#4295)

    * Docs: Dev FAQ - About indirect conditions

    I wrote up a big effortpost about indirect conditions for nex on the [DS3 3.0 PR](https://github.com/ArchipelagoMW/Archipelago/pull/3128#discussion_r1693843193).

    The version I'm [PRing to the world API document](https://github.com/ArchipelagoMW/Archipelago/pull/3552) is very brief and unnuanced, because I'd rather people use too many indirect conditions than too few.
    But that might leave some devs wanting to know more.

    I think that comment on nex's DS3 PR is probably the best detailed explanation for indirect conditions that exists currently.

    So I think it's good if it exists somewhere. And the FAQ doc seems like the best place right now, because I don't want to write an entirely new doc at the moment.

    * Actually copy in the text

    * Update docs/apworld_dev_faq.md

    Co-authored-by: Exempt-Medic <[email protected]>

    * Update docs/apworld_dev_faq.md

    Co-authored-by: Exempt-Medic <[email protected]>

    * Update docs/apworld_dev_faq.md

    Co-authored-by: Exempt-Medic <[email protected]>

    * Update docs/apworld_dev_faq.md

    Co-authored-by: Exempt-Medic <[email protected]>

    * Update docs/apworld_dev_faq.md

    Co-authored-by: Exempt-Medic <[email protected]>

    * Update docs/apworld_dev_faq.md

    Co-authored-by: Scipio Wright <[email protected]>

    * Update docs/apworld_dev_faq.md

    Co-authored-by: Scipio Wright <[email protected]>

    * Update docs/apworld_dev_faq.md

    Co-authored-by: qwint <[email protected]>

    * Update docs/apworld_dev_faq.md

    Co-authored-by: qwint <[email protected]>

    * Update apworld_dev_faq.md

    * Update docs/apworld_dev_faq.md

    Co-authored-by: Exempt-Medic <[email protected]>

    * Update apworld_dev_faq.md

    * Update docs/apworld_dev_faq.md

    Co-authored-by: Exempt-Medic <[email protected]>

    * Update docs/apworld_dev_faq.md

    Co-authored-by: Exempt-Medic <[email protected]>

    * Update docs/apworld_dev_faq.md

    Co-authored-by: Exempt-Medic <[email protected]>

    * Update apworld_dev_faq.md

    * Update docs/apworld_dev_faq.md

    Co-authored-by: qwint <[email protected]>

    * Update docs/apworld_dev_faq.md

    Co-authored-by: qwint <[email protected]>

    * fix the last couple of wording issues I have with the indirect condition section to apworld dev faq doc

    * I didn't like that wording

    * Apply suggestions from code review

    Co-authored-by: Scipio Wright <[email protected]>

    * Apply suggestions from code review

    Co-authored-by: Scipio Wright <[email protected]>

    * Update docs/apworld_dev_faq.md

    Co-authored-by: Scipio Wright <[email protected]>

    * Update docs/apworld_dev_faq.md

    * Update docs/apworld_dev_faq.md

    Co-authored-by: Scipio Wright <[email protected]>

    ---------

    Co-authored-by: NewSoupVi <[email protected]>
    Co-authored-by: Exempt-Medic <[email protected]>
    Co-authored-by: Scipio Wright <[email protected]>

commit 9815306875f8c6a4d683679a090babc0b4f96e0d
Author: qwint <[email protected]>
Date:   Thu Dec 12 14:30:49 2024 -0500

    Docs: Use ModuleUpdate.py #3785

commit d7736950cd48d3df9ee35ff1167dc6586172903e
Author: NewSoupVi <[email protected]>
Date:   Thu Dec 12 19:42:14 2024 +0100

    The Witness: Panel Hunt Plando (#3549)

    * Add panel hunt plando option

    * Keys are strs

    * oops

    * better message

    * ,

    * this doesn ot need to be here

    * don't replace pre picked panels

    * Update options.py

    * rebase error

    * rebase error

    * oops

    * Mypy

    * ruff

    * another rebase error

    * actually this is a stupid change too

    * bring over that change:tm:

    * Update entity_hunt.py

    * Update entity_hunt.py

    * Update entity_hunt.py

commit f5e3677ef1ec741f830e6ce3d231a25dca7c2689
Author: Mysteryem <[email protected]>
Date:   Thu Dec 12 18:04:27 2024 +0000

    Pokemon Emerald: Fix invalid escape sequence warnings (#4328)

    Generation on Python 3.12 would print SyntaxWarnings due to invalid '\d'
    escape sequences added in #3832.

    Use raw strings to avoid `\` being used to escape characters.

commit 144d612c527ac02eb290c8e7960c61c6b2fe1d79
Author: josephwhite <[email protected]>
Date:   Thu Dec 12 08:50:48 2024 -0500

    Super Mario 64: Rework logic for 100 Coins (#4131)

    * sm64ex: Rework logic for 100 Coins

    * sm64ex: 100 Coins Vanilla Option

    * sm64ex: Avoiding raw int comparisons for 100 coin option

    * sm64ex: Change 100 coin option from toggle to choice

    * sm64ex: use snake_case for 100 coin option

    * just use "vanilla" for option comparison (exempt-medic feedback)

    Co-authored-by: Exempt-Medic <[email protected]>

    * sm64ex: remove vanilla 100 coins from item pool to remove overfilling stars

    * yeah

    Co-authored-by: Exempt-Medic <[email protected]>

    * Remove range condition (35 is the min for total stars)

    Co-authored-by: Exempt-Medic <[email protected]>

    ---------

    Co-authored-by: Exempt-Medic <[email protected]>

commit 3acbe9ece14ba792ea0c50bf3623e0e377cb18f3
Author: LiquidCat64 <[email protected]>
Date:   Thu Dec 12 06:47:47 2024 -0700

    Castlevania: Circle of the Moon - Implement New Game (#3299)

    * Add the cotm package with working seed playthrough generation.

    * Add the proper event flag IDs for the Item codes.

    * Oooops. Put the world completion condition in!

    * Adjust the game name and abbreviations.

    * Implement more settings.

    * Account for too many start_inventory_from_pool cards with Halve DSS Cards Placed.

    * Working (albeit very sloooooooooooow) ROM patching.

    * Screw you, bsdiff! AP Procedure Patch for life!

    * Nuke stage_assert_generate as the ROM is no longer needed for that.

    * Working item writing and position adjusting.

    * Fix the magic item graphics in Locations wherein they can be fixed.

    * Enable sub-weapon shuffle

    * Get the seed display working.

    * Get the enemy item drop randomization working. Phew!

    * Enemy drop rando and seed display fixes.

    * Functional Countdown + Early Double setting

    * Working multiworld (yay!)

    * Fix item links and demo shenanigans.

    * Add Wii U VC hash and a docs section explaining the rereleases.

    * Change all client read/writes to EWRAM instead of Combined WRAM.

    * Custom text insertion foundations.

    * Working text converter and word wrap detector.

    * More refinements to the text wrap system.

    * Well and truly working sent/received messages.

    * Add DeathLink and Battle Arena goal options.

    * Add tracker stuff, unittests, all locations countdown, presets.

    * Add to README, CODEOWNERS, and inno_setup

    * Add to README, CODEOWNERS, and inno_setup

    * Address some suggestions/problems.

    * Switch the Items and Locations to using dataclasses.

    * Add note about the alternate classes to the Game Page.

    * Oooops, typo!

    * Touch up the Options descriptions.

    * Fix Battle Arena flag being detected incorrectly on connection and name the locked location/item pairs better.

    * Implement option groups

    * Swap the Lizard-man Locations into their correct Regions.

    * Local start inventory, better DeathLink message handling, handle receiving over 255 of an item.

    * Update the PopTracker pack links to no longer point to the Releases page.

    * Add Skip Dialogues option.

    * Update the presets for the accessibility rework.

    * Swap the choices in the accessibility preset options.

    * Uhhhhhhh...just see the apworld v4 changelog for this one.

    * Ooops, typo!

    * .

    * Bunch of small stuff

    * Correctly change "Fake" to "Breakable" in this comment.

    Co-authored-by: Exempt-Medic <[email protected]>

    * Make can_touch_water one line.

    Co-authored-by: Exempt-Medic <[email protected]>

    * Make broke_iron_maidens one line.

    Co-authored-by: Exempt-Medic <[email protected]>

    * Fix majors countdown and make can_open_ceremonial_door one line.

    * Make the Trap AP Item less obvious.

    * Add Progression + Useful stuff, patcher handling for incompatible versions, and fix some mypy stuff.

    * Better option groups.

    * Change Early Double to Early Escape Item.

    * Update DeathLink description and ditch the Menu region.

    * Fix the Start Broken choice for Iron Maiden Behavior

    * Remove the forced option change with Arena goal + required All Bosses and Arena.

    * Update the Game Page with the removal of the forced option combination change.

    * Fix client potential to send packets nonstop.

    * More review addressing.

    * Fix the new select_drop code.

    * Fix the new select_drop code for REAL this time.

    * Send another LocationScout if we send Location checks without having the Location info.

    ---------

    Co-authored-by: Exempt-Medic <[email protected]>
    Co-authored-by: Exempt-Medic <[email protected]>
    Co-authored-by: NewSoupVi <[email protected]>

commit 7d0b701a2df01b93cf292c231d38c4753e6f0715
Author: Scipio Wright <[email protected]>
Date:   Thu Dec 12 06:54:03 2024 -0500

    TUNIC: Change rule for heir access in non-hex quest #4365

commit f91537fb481e58ff429929f7919a288f3630ba04
Author: Justus Lind <[email protected]>
Date:   Thu Dec 12 18:18:19 2024 +1000

    Muse Dash: Remove bad option defaults. #4340

commit 3c5ec49dbee129579573ab7528ddb87185f9fc9a
Author: Jouramie <[email protected]>
Date:   Thu Dec 12 03:17:19 2024 -0500

    Stardew Valley: Fix potential incompletable seed when starting winter  (#4361)

    * make moss available with any season except winter

    * add tool and region requirement for moss

commit 9a37a136a1ab02c561b704a144b6424eac5db416
Author: NewSoupVi <[email protected]>
Date:   Tue Dec 10 21:13:45 2024 +0100

    The Witness: Add more panels to the "doors: panels" mode (#2916)

    * Add more panels that should be panels

    * Make it so the caves panel items don't exist in early caves

    * Remove unused import

    * oops

    * Remove Jungle to Monastery Garden from usefulification list

    * Add a basic test

    * ruff

    ---------

    Co-authored-by: Fabian Dill <[email protected]>

commit 54a0a5ac0002ff1edf858441891625600b69e812
Author: NewSoupVi <[email protected]>
Date:   Tue Dec 10 21:06:06 2024 +0100

    The Witness: Put progression + useful on some items. (#4027)

    * proguseful

    * ruff

    * variable rename

    * variable rename

    * Better (?) comment

    * Better way to do this? I guess

    * sure

    * ruff

    * Eh, it's not worth it. Here's the much simpler version

    * don't need this now

    * Improve some classification checks while we're at it

    * Only proguseful obelisk keys if eps are individual

commit 704f14ffcd80d32a4c0ffed4bdf4cf38324b0dc5
Author: Exempt-Medic <[email protected]>
Date:   Tue Dec 10 14:37:54 2024 -0500

    Core: Add toggles_as_bools to options.as_dict (#3770)

    * Add toggles_as_bools to options.as_dict

    * Update Options.py

    Co-authored-by: Doug Hoskisson <[email protected]>

    * Add param to docstring

    * if -> elif

    ---------

    Co-authored-by: Doug Hoskisson <[email protected]>

commit 925fb967d3274e64a8f88b73d81b97ce51c6d0d2
Author: Star Rauchenberger <[email protected]>
Date:   Tue Dec 10 14:36:38 2024 -0500

    Lingo: Fix number hunt issues on panels mode (#4342)

commit 5dd19fccd0dc89966095c93c3fdb3ad72b4bea08
Author: NewSoupVi <[email protected]>
Date:   Tue Dec 10 20:35:36 2024 +0100

    MultiServer/CommonClient: We forgot about Item Links again (Hint Priority) (#4314)

    * Vi don't forget about itemlinks challenge difficulty impossible

    * People other than Vi also don't forget about ItemLinks challenge difficulty impossible

commit 781100a571fe7e4850272a8899c5ef9d078f19d8
Author: Jouramie <[email protected]>
Date:   Tue Dec 10 14:26:33 2024 -0500

    CI: remove version restriction on pytest-subtests (#4356)

    This reverts commit e3b5451672c694c12974801f5c89cc172db3ff5a.

commit 3fb0b57d19b9c223107308c84605e05e6b16e1cf
Author: black-sliver <[email protected]>
Date:   Tue Dec 10 20:09:36 2024 +0100

    Core: fix exceptions coming from LocationStore (#4358)

    * Speedups: add instructions for ASAN

    * Speedups: move typevars out of classes

    * Speedups, NetUtils: raise correct exceptions

    * Speedups: double-check malloc

    * Tests: more LocationStore tests

commit f79657b41a8aa7904193331b7ae181e0ff9ab967
Author: Fabian Dill <[email protected]>
Date:   Tue Dec 10 19:53:42 2024 +0100

    WebHost: disable abbreviations for argparse (#4352)

commit 4a5ba756b6d0d26b40a8c3ca5bb3ea3e1ed931b3
Author: black-sliver <[email protected]>
Date:   Tue Dec 10 02:44:41 2024 +0100

    WebHost: Set Generator memory limit to 4GiB (#4319)

    * WebHost: Set Generator memory limit to 4GiB

    * WebHost: make generator memory limit configurable, better naming

    * Update WebHostLib/__init__.py

    Co-authored-by: Fabian Dill <[email protected]>

    * Update docs/webhost configuration sample.yaml

    ---------

    Co-authored-by: Fabian Dill <[email protected]>

commit 0b3d34ab24ffab023800e6230ca95e840cdcb683
Author: black-sliver <[email protected]>
Date:   Tue Dec 10 02:25:09 2024 +0100

    CI: update scan-build to v19 (#4338)

commit aa22b62b41226b62734988da0b5dcd6f5bff7a33
Author: Jouramie <[email protected]>
Date:   Mon Dec 9 15:17:25 2024 -0500

    Stardew Valley: Force deactivation of Mr. Qi's special orders when ginger island is deactivated (#4348)

commit 51c4fe8f67511850a7d26fe07a183242683034f1
Author: Jouramie <[email protected]>
Date:   Sun Dec 8 21:00:30 2024 -0500

    Stardew Valley: Fix a bug where walnutsanity would get deactivated even tho ginger island got forced activated (and move some files) (#4311)

commit 26f9720e69d33af5f55950d4bc197460f39df3ab
Author: Louis M <[email protected]>
Date:   Sun Dec 8 20:18:00 2024 -0500

    Aquaria: mega refactoring (#3810)

    This PR is mainly refactoring. Here is what changed:
    - Changing item names so that each words are capitalized (`Energy Form` instead of `Energy form`)
    - Removing duplication of string literal by using:
      - Constants for items and locations,
      - Region's name attribute for entrances,
    - Clarify some documentations,
    - Adding some region to be more representative of the game and to remove listing of locations in the rules (prioritize entrance rules over individual location rules).

    This is the other minor modifications that are not refactoring:
    - Adding an early bind song option since that can be used to exit starting area.
    - Changing Sun God to Lumerean God to be coherent with the other gods.
    - Changing Home Water to Home Waters and Open Water to Open Waters to be coherent with the game.
    - Removing a rules to have an attack to go in Mithalas Cathedral since you can to get some checks in it without an attack.
    - Adding some options to slot data to be used with Poptracker.
    - Fixing a little but still potentially logic breaking bug.

commit 1f712d9a8754103e2bbeb13075f460ff366d55df
Author: qwint <[email protected]>
Date:   Sun Dec 8 19:59:40 2024 -0500

    Various Worlds: use / explicitly for pkgutil (#4232)

commit 5b4d7c752670b9cdf79258792e8045d968a54e96
Author: Scipio Wright <[email protected]>
Date:   Sun Dec 8 19:58:49 2024 -0500

    TUNIC: Add Shield to Ladder Storage logic (#4146)

commit a948697f3a2387d13862a194690c39af8da2dbd8
Author: Mysteryem <[email protected]>
Date:   Mon Dec 9 00:57:34 2024 +0000

    Raft: Place locked items in create_items and fix get_pre_fill_items (#4250)

    * Raft: Place locked items in create_items and fix get_pre_fill_items

    `pre_fill` runs after item plando, and item plando could place an item
    at a location where Raft was intending to place a locked item, which
    would crash generation.

    This patch moves the placement of these locked items earlier, into
    `create_items`.

    Setting items into `multiworld.raft_frequencyItemsPerPlayer` for each
    player has been replaced with passing `frequencyItems` to the new
    `place_frequencyItems` function.

    `setLocationItem` and `setLocationItemFromRegion` have been moved into
    the new `place_frequencyItems` function so that they can capture the
    `frequencyItems` argument variable.

    The `get_pre_fill_items` function could return a list of all previously
    placed items across the entire multiworld which was not correct. It
    should have returned the items in
    `multiworld.raft_frequencyItemsPerPlayer[self.player]`. Now that these
    items are placed in `create_items` instead of `pre_fill`,
    `get_pre_fill_items` is no longer necessary and has been removed.

    * self.multiworld.get_location -> self.get_location

    Changed the occurences in the modified code.

commit e3b5451672c694c12974801f5c89cc172db3ff5a
Author: qwint <[email protected]>
Date:   Sun Dec 8 14:43:16 2024 -0500

    CI: cap pytest-subtest version (#4344)

commit 6c69f590cf18d1224445ee86da7c85c7663f5fb7
Author: black-sliver <[email protected]>
Date:   Sun Dec 8 02:22:56 2024 +0100

    WebHost: fix host room not updating (ports in) slot table (#4308)

commit c9625e1b35c36866ee727128fe73808580f37145
Author: LeonarthCG <[email protected]>
Date:   Sat Dec 7 11:29:27 2024 +0100

    Saving Princess: implement new game (#3238)

    * Saving Princess: initial commit

    * settings -> options

    Co-authored-by: Scipio Wright <[email protected]>

    * settings -> options

    Co-authored-by: Scipio Wright <[email protected]>

    * replace RegionData class with List[str]

    RegionData was only wrapping a List[str], so we can directly use List[str]

    * world: MultiWorld -> multiworld: MultiWorld

    * use world's random instead of multiworld's

    * use state's has_any and has_all where applicable

    * remove unused StartInventory import

    * reorder PerGameCommonOptions

    * fix relative AutoWorld import

    Co-authored-by: Scipio Wright <[email protected]>

    * clean up double spaces

    * local commands -> Local Commands

    Co-authored-by: Nicholas Saylor <[email protected]>

    * remove redundant which items section

    Co-authored-by: Nicholas Saylor <[email protected]>

    * game info rework

    * clean up item count redundancy

    * add game to readme and codeowners

    * fix get_region_entrance return type

    * world.multiworld.get -> world.get

    * add more events

    added events for the boss kills that open the gate, as well as for system power being restored

    these only apply if expanded pool is not selected

    * add client/autoupdater to launcher

    * reorder commands in game info

    * update docs with automated installation info

    * add quick links to doc

    * Update setup_en.md

    * remove standalone saving princess client

    * doc fixes

    * code improvements and redundant default removal

    as suggested by @Exempt-Medic
    this includes the removal of events from the item/location name to id, as well as checking for the player name being ASCII

    * add option to change launch coammnd

    the LaunchCommand option is filled to either the executable or wine with the necessary arguments based on Utils.is_windows

    * simplify valid install check

    * mod installer improvements

    now deletes possible existing files before installing the mod

    * add option groups and presets

    * add required client version

    * update docs about cheat items pop-ups

    items sent directly by the server (such as with starting inventory) now have pop-ups just like any other item

    * add Steam Input issue to faq

    * Saving Princess: BRAINOS requires all weapons

    * Saving Princess: Download dll and patch together

    Previously, gm-apclientpp.dll was downloaded from its own repo
    With this update, the dll is instead extracted from the same zip as the game's patch

    * Saving Princess: Add URI launch support

    * Saving Princess: goal also requires all weapons

    given it's past brainos

    * Saving Princess: update docs

    automatic connection support was added, docs now reflect this

    * Saving Princess: extend([item]) -> append(item)

    * Saving Princess: automatic connection validation

    also parses the slot, password and host:port into parameters for the game

    * Saving Princess: change subprocess .run to .Popen

    This keeps the game from freezing the launcher while it is running

    ---------

    Co-authored-by: Scipio Wright <[email protected]>
    Co-authored-by: Nicholas Saylor <[email protected]>
    Co-authored-by: NewSoupVi <[email protected]>

commit ced93022b67532e8172fd217a7d3a7bd205b8177
Author: Nicholas Saylor <[email protected]>
Date:   Fri Dec 6 01:15:26 2024 -0500

    Adventure: Remove unused variables (#4301)

    * Remove unused variables

    * Provide old parameters to comment

commit f4b926ebbe491dc9a064b5d17bdd95051a5c6496
Author: Bryce Wilson <[email protected]>
Date:   Thu Dec 5 07:33:21 2024 -0800

    Pokemon Emerald: Exclude sacred ash post champion (#4207)

    * Pokemon Emerald: Exclude sacred ash post champion

    * Pokemon Emerald: Remove .value from toggle option check

commit 203d89d1d38102800bfc0aa4c5338f7fc3113dec
Author: threeandthreee <[email protected]>
Date:   Thu Dec 5 10:32:45 2024 -0500

    LADX: upstream logic updates (#3963)

    * Fully updates requirements.py to live LADXR (#19)

    * Updates dungeon2.py to LADXR-Live (#20)

    No logic changes or bugfix are in this file. It is only code cleanup.

    * Update dungeon1.py (#21)

    - The Three of a Kind with Bomb is moved from Normal to Hard Logic

    The rest is code cleanup.

    lines 22-25 | 22-26 & 33 | 34 remain different in AP | Upstream with no effective difference

    * Fully updates dungeon3.py to LADXR-live (#22)

    Logic Changes:
    - Hard mode now considers killing the enemies in the top room with pot

    Everything else is cleanup.

    * Fully update dungeon4.py to LADXR-live logic (#23)

    Logic Changes:
    - Hard Logic: Removes Feather requirement from grabbing the Pit Key
    - Hell logic: new hookshot clip (line 64)
    - Hell logic: hookshot spam over the first pit of crossroads, then buffer down (line 69)
    - Hell logic: push block left of keyblock up, then shaq jump off the left wall and pause buffer to land on keyblock.
    - Hell logic: split zol for more entities, and clip through the block left of keyblock by hookshot spam

    The rest is code cleanup

    * Updates dungeon5.py mostly to LADXR-Live Logic (#24)

    Logic Changes:
    - Hell logic: use zoomerang dashing left to get an unclipped boots superjump off the right wall over the block. reverse is push block (line 69)

    The rest is cleanup.

    The upstream splits the post_gohma region into pre_gohma, gohma and post_gohma. I did not implement this yet as I do not know the implications. To port this the following lines need to be changed (AP | LADXR):
    18 | 18-20;
    55 | 58;
    65 | 68-69

    * Fully update dungeon6.py logic (#25)

    Logic Changes:
    - Hard logic: allow damage boosting past the mini thwomps
    - Glitched logic: bomb triggering elephants in two cases

    Everything else is cleanup

    * Fully update dungeon7.py to LADXR-live logic (#26)

    Logic Changes:
    - Hard logic: Three of a Kind is now possible with bombs only

    Everything else is code cleanup

    * Fully updates dungeon8.py to LADXR-live (#27)

    Logic change:
    - Hard logic: allows to drop the Gibdos into holes as a way to kill them
    - Glitched logic: underground section with fire balls jumping up out of lava. Use boots superjump off left wall to jump over the pot blocking the way

    The rest is code cleanup

    * Fully update dungeonColor.py to LADXR-live (#28)

    Logic changes:
    - Normal logic: Karakoros now need power bracelet to put them into their holes
    - Hard logic: Karakoros without power bracelet but with weapon
    - Hell logic: Karakoros with only bombs

    Everything else is code cleanup

    * Updating overworld.py (#29)

    * Updating overworld.py

    This tries to update all logic of the Overworld.

    Logic changes include:
    - Normal logic: requires hookshot or shield to traverse Armos Cave
    - Hard logic: Traverse Armos Cave with nothing (formerly normal logic)
    - Hard logic: get the animal village bomb cave check with jump and boomerang
    - Hard logic: use rooster to go to D7
    - Lots of Jesus Rooster Jumps

    I stopped counting and need to go over this again.

    Also, please investigate line 474 AP because it's removed in LADXR-Upstream and I don't know why.

    * remove featherless fisher under bridge from hard

    it was moved to hell upstream and its already present in our code

    ---------

    Co-authored-by: Alex Nordstrom <[email protected]>

    * fixes

    * add test messages

    * Adds Pegasus Boots to the test (#31)

    * Fix d6 boss_key logic (#30)

    * restore hardmode logic

    * higher logic fixes

    * add bush requirement to the raft
    in case the player needs to farm rupees to play again

    ---------

    Co-authored-by: palex00 <[email protected]>

commit 4d42814f5d6a7315bb177f76d1f690ff6454b9ef
Author: threeandthreee <[email protected]>
Date:   Thu Dec 5 06:06:52 2024 -0500

    LADX: more item groups, location groups, keysanity preset (#3936)

    * add groups and a preset

    * formatting

    * typing

    * alias groups for progressive items

    * add bush breakers item group

    * fix typo

    * some manual location groups

    * drop dummy dungeon items from groups

commit d80069385dc6166c2333d2c2360d47861a138d87
Author: threeandthreee <[email protected]>
Date:   Thu Dec 5 06:03:16 2024 -0500

    LADX: tweak in-game hints (#3920)

    * dont show local player name in hint

    * add option to disable hints

    ---------

    Co-authored-by: NewSoupVi <[email protected]>

commit 85a0d59f739a199bf4e72612d29183f86d00a66e
Author: threeandthreee <[email protected]>
Date:   Thu Dec 5 04:23:26 2024 -0500

    LADX: text shuffle exclusions (#3919)

    * text shuffle exclusions
    Exclude owl statues, library books, goal sign, signpost maze, and various rupee prices from text shuffle

    * clearer variable name

commit 58f22053048b97fd18d07843ea63638657257420
Author: nmorale5 <[email protected]>
Date:   Thu Dec 5 01:48:33 2024 -0500

    Pokemon RB: Fix Incorrect Hidden Item Location in Seafoam Islands B2F (#4304)

commit 769fbc55a9043f323684f6400424167eed2cea80
Author: Nicholas Saylor <[email protected]>
Date:   Wed Dec 4 02:51:56 2024 -0500

    HK: Remove unused variables and imports (#4303)

    * Remove unused variables and imports

    * Accidental duplication

commit f43fa612d502c3b5ed307d97f266e6acc8eaa937
Author: NewSoupVi <[email protected]>
Date:   Wed Dec 4 05:39:29 2024 +0100

    The Witness: Another small access rule optimisation #4256

commit 5b0de6b6c77b76a7f40285565d4f688fb662e412
Author: Exempt-Medic <[email protected]>
Date:   Tue Dec 3 16:51:58 2024 -0500

    FFMQ: No Longer Allow Inaccessible Useful Items (#4323)

    Co-authored-by: Doug Hoskisson <[email protected]>

commit ac8a206d4685e015494dd67f9a9e7ab2411773b3
Author: threeandthreee <[email protected]>
Date:   Tue Dec 3 00:59:55 2024 -0500

    LADX: combine warp options (#4325)

    * combine warp options

    * fix

    * fix typo

    * mark old options as removed

commit 6896d631db6ab24dfef67538ff7e7a7c18ff560f
Author: Jouramie <[email protected]>
Date:   Tue Dec 3 00:23:13 2024 -0500

    Stardew Valley: Fix a bug in equals between Or and And rules #4326

commit 6f2e1c2a7ea8395c1674124c1c7e51ffbd1bb7d9
Author: Nicholas Saylor <[email protected]>
Date:   Mon Dec 2 21:02:18 2024 -0500

    Lingo: Optimize imports and remove unused parameter (#4305)

commit ffe0221deb41d93b5a2e5a663a43e96beec058db
Author: Fabian Dill <[email protected]>
Date:   Tue Dec 3 03:00:56 2024 +0100

    Core: log process ID (#4290)

commit 18e8d50768eff7ac6416048fd1d39b40551793b7
Author: Bryce Wilson <[email protected]>
Date:   Mon Dec 2 17:52:20 2024 -0800

    Pokemon Emerald: Clean up dexsanity spoiler and hints (#3832)

    * Pokemon Emerald: Clean up dexsanity spoiler and hints

    * Pokemon Emerald: Add +, do less hacks

    * Pokemon Emerald: Update changelog

    * Pokemon Emerald: Replace arrow with word in changelog

    * Pokemon Emerald: Fix changelog

commit 81b9a53a376df3f55f76abe941796fc7aef69e89
Author: Mysteryem <[email protected]>
Date:   Tue Dec 3 01:51:10 2024 +0000

    KH2: Add missing indirect conditions for Final region access (#3923)

    * KH2: Add missing indirect conditions for Final region access

    Entrances to the Final region require being able to reach any one of a
    number of locations, but for a location to be reachable, its parent
    region must also be reachable, so indirect conditions must be added for
    these regions.

    * Use World.get_location

    Co-authored-by: Exempt-Medic <[email protected]>

    * Use World.get_location, for real this time

    ---------

    Co-authored-by: Exempt-Medic <[email protected]>

commit b6ab91fe4b5491c1d754aba35885f7b6e1923263
Author: Star Rauchenberger <[email protected]>
Date:   Mon Dec 2 20:50:30 2024 -0500

    LADX: Remove duplicate Magnifying Lens item (#3684)

    * LADX: Magnifying Glass fixes

    Removed the duplicate item (Magnifying Lens), and made the real one a filler item.

    * Update worlds/ladx/Items.py

    Co-authored-by: threeandthreee <[email protected]>

    ---------

    Co-authored-by: threeandthreee <[email protected]>

commit f26cda07db5cb9046088a6f0c4710071c7bcfc69
Author: Emily <[email protected]>
Date:   Sun Dec 1 09:16:36 2024 -0500

    Core: Hint Priority fixes (#4315)

    * Update hint priority docs

    * Update network protocol.md

    * Add error on `UpdateHint` trying to change to `HINT_FOUND`

    * Update network protocol.md

    * fix: precollected hint priority

commit ecc3094c70b3ee1f3e18d9299c03198564ec261a
Author: Fabian Dill <[email protected]>
Date:   Sun Dec 1 08:33:43 2024 +0100

    Launcher: launch without delay on URI without choice (#4279)

commit 17b3ee6eaf326249c477b20ae976794817efc3ee
Author: Benjamin S Wolf <[email protected]>
Date:   Sat Nov 30 20:18:00 2024 -0800

    Core: warn if a yaml is empty (#4117)

    * Core: warn if a yaml is empty

    * WebHost: ignore empty yaml

    Generate: log which yaml documents are empty

    * Actually remove empty yamls from weight_cache

    * More verbose variable name

    ---------

    Co-authored-by: NewSoupVi <[email protected]>

commit 284e7797c5523180968016728790bf5128315c61
Author: Exempt-Medic <[email protected]>
Date:   Sat Nov 30 23:10:43 2024 -0500

    Adventure: create_item AttributeError -> KeyError #4219

commit 62ce42440b703fba2ba544604f51690f388b7f33
Author: Exempt-Medic <[email protected]>
Date:   Sat Nov 30 23:03:13 2024 -0500

    Super Metroid: KeyError on invalid item name #4222

commit 7b755408fa41e72b4ecf0f1e9029fe0c21ab85ee
Author: Natalie Weizenbaum <[email protected]>
Date:   Sat Nov 30 20:00:06 2024 -0800

    DS3: Clarify location names for Yoel and Yuria items (#3881)

    * DS3: Clarify location names for Yoel and Yuria items

    * Fix encodings for `detailed_location_descriptions.py`

    * Fix one more typo

commit ed721dd0c14aec3cb332a010f52bca43fddc2886
Author: Alex Nordstrom <[email protected]>
Date:   Sat Nov 30 22:58:10 2024 -0500

    LADX: Implement various upstream adjustments (#3829)

    * magnifying lens changes

    https://github.com/daid/LADXR/pull/156

    * restore enemy visibility in mermaid statue cave

    https://github.com/daid/LADXR/pull/155

    * mermaid statue scale bugfix

    https://github.com/daid/LADXR/pull/163

    * restore vanilla map when rooster is an item

    https://github.com/daid/LADXR/pull/132

    * fix

    * fixes to magnifying lens changes

    * load marin singing even if you have marin date
    https://github.com/daid/LADXR/commit/4feb3099a3f3a144739094f88a4024def6f79767

    * Revert "load marin singing even if you have marin date"

    This reverts commit a7a546ed3f7a2b9c9bcb095984cc64319a4f7855.

    * always patch tradequest
    not upstream, but included in this PR because it touches the same parts of the code. https://discord.com/channels/731205301247803413/1227373762412937347

    * marin date fix

    * fix logic

commit 1a5d22ca7890175275ef8b77c31cc0dce705d85a
Author: Benjamin S Wolf <[email protected]>
Date:   Sat Nov 30 19:51:26 2024 -0800

    Core: Add new error message for item count when defined as a set instead of a dict (#4100)

    * Core: New error message if item count is a set

    * Apply suggestion for error message

    Co-authored-by: Exempt-Medic <[email protected]>

    * Apply item count error suggestion

    Co-authored-by: Nicholas Saylor <[email protected]>

    ---------

    Co-authored-by: Exempt-Medic <[email protected]>
    Co-authored-by: Nicholas Saylor <[email protected]>

commit 21dbfd2472a517f4885b018c24ef14173d6d6cae
Author: josephwhite <[email protected]>
Date:   Sat Nov 30 22:33:36 2024 -0500

    Multiserver: Add argument for timestamping STDOUT (#4266)

    * core: add server arg for timestamping STDOUT

    * Multiserver: Implicitly use default write_mode arg in init_logging

    Co-authored-by: Exempt-Medic <[email protected]>

    ---------

    Co-authored-by: Exempt-Medic <[email protected]>

commit 472d2d54061d3ebe88a4f2577f9e510445c74bcb
Author: Jarno <[email protected]>
Date:   Sun Dec 1 04:11:45 2024 +0100

    Timespinner: Implemented support for universal tracker (#3771)

    * Implemented slot data interpretation

    * Fixed talaria attached to be taken into logic

commit 3af2b1dc666cd03a2aa85044b24995adf0360833
Author: Kaito Sinclaire <[email protected]>
Date:   Sat Nov 30 19:10:43 2024 -0800

    id Tech 1 games: Add command line instructions/info (#3757)

commit 6cfc3a46670232db873d7ce362c9e99e23ebaa03
Author: Eric Newport <[email protected]>
Date:   Sat Nov 30 19:10:00 2024 -0800

    Docs: Improved sm64ex advanced setup docs (#3741)

    * Improved sm64ex advanced setup docs

    This edit clarifies some things that are not obvious in the version that is currently live on the site.

    This should prevent others from needing to go spelunking in Discord chat history to figure out how to do advanced builds.

    * Update worlds/sm64ex/docs/setup_en.md

    Co-authored-by: Nicholas Saylor <[email protected]>

    * copyediting

    ---------

    Co-authored-by: Nicholas Saylor <[email protected]>

commit 992657750c30094c8a4b5734104dcda8b0547622
Author: Rensen3 <[email protected]>
Date:   Sun Dec 1 04:09:22 2024 +0100

    YGO06: add Item groups (#3737)

    * YGO06: adds item groups

    * YGO06: Change lists to sets

    Co-authored-by: Scipio Wright <[email protected]>

    * YGO06: fix imports

    ---------

    Co-authored-by: Scipio Wright <[email protected]>

commit a67688749f556c631b3e1423c03f64d6151a5cb4
Author: Jouramie <[email protected]>
Date:   Sat Nov 30 21:52:07 2024 -0500

    Stardew Valley: Refactor skill progression to use new feature system (#3662)

    * create a first draft of the feature

    * use feature in items and locations

    * add content to more places

    * use feature in logic

    * replace option check by feature

    * remove unused code

    * remove weird white space

    * some import nitpicking

    * flip negative if

commit f735416bdac39db987ffb8af4b0d7bc09846c172
Author: Kaito Sinclaire <[email protected]>
Date:   Sat Nov 30 18:46:34 2024 -0800

    id Tech 1: Clean up difficulty options (#4298)

commit e5374eb8b81ac9913f4618f660d6f3c65b63261a
Author: palex00 <[email protected]>
Date:   Sun Dec 1 03:22:02 2024 +0100

    [PKMN RB] Make Encounters in one location unique (#3994)

    * Makes encounters in a location generate unique Pokémon

    * vyneras actually got it to work

    * V5 Update Fix Part 1

    * Part 2

    * final puzzle piece

commit b83b48629de128a0b04c71b40ea4dc8b9aafc6e8
Author: black-sliver <[email protected]>
Date:   Sat Nov 30 17:23:28 2024 +0100

    Core: rework python version check (#4294)

    * Docs: update min required version

    and add comment about security.

    * Core: rework python version check

    * CI: set min micro update for build and release

commit ca6792a8a7c5f82e3a8c539c7f0d23e44b181c4f
Author: Exempt-Medic <[email protected]>
Date:   Sat Nov 30 10:08:41 2024 -0500

    Blasphemous: Add start_inventory_from_pool (#4217)

commit 7cbd50a2e6f646870f0309a9f8c93bfe24f3a18a
Author: qwint <[email protected]>
Date:   Sat Nov 30 10:02:32 2024 -0500

    HK: add item group for dream nail(s) (#4069)

commit d6da3bc899cd11e76a5a6da4fb6870134341d080
Author: Fabian Dill <[email protected]>
Date:   Sat Nov 30 06:53:28 2024 +0100

    Factorio: add Atomic Cliff Remover Trap (#4282)

commit 9eaca9527783d88e176119e7b2f436a374159357
Author: Fabian Dill <[email protected]>
Date:   Sat Nov 30 04:11:28 2024 +0100

    WebHost: add a page to manage session cookie (#4173)

commit c1b27f79ac4107e5b253f8cf68fcbfb64d9a11f8
Author: Fabian Dill <[email protected]>
Date:   Sat Nov 30 04:11:03 2024 +0100

    Core: cull events from multidata spheres (#3623)

    Co-authored-by: Doug Hoskisson <[email protected]>

commit 0705f6e6c06baa33d60573e0a201385ba6e27ca4
Author: Fabian Dill <[email protected]>
Date:   Sat Nov 30 04:08:17 2024 +0100

    Factorio: option groups (#4293)

commit a537d8eb65a0b85210504691ef420cfdb8d7f3b3
Author: qwint <[email protected]>
Date:   Fri Nov 29 21:58:52 2024 -0500

    Launcher: support Component icons inside apworlds (#3629)

    * Add kivy overrides to allow AsyncImage source paths of the format ap:worlds.module/subpath/to/data.png that use pkgutil to load files from within an apworld

    * Apply suggestions from code review

    Co-authored-by: Doug Hoskisson <[email protected]>

    * Apply suggestions from code review

    Co-authored-by: Doug Hoskisson <[email protected]>

    * change original-load variable name for clarity per review

    * add comment to record pkgutil format

    * remove dependency on PIL

    * i hate typing

    ---------

    Co-authored-by: Doug Hoskisson <[email protected]>

commit 845a60495589e7b25a8d3f225c5aac40cb153826
Author: qwint <[email protected]>
Date:   Fri Nov 29 21:40:14 2024 -0500

    MultiServer: !status shows Ready status (#3598)

    * Makes !status show a note if the slot is in Status Ready

    * update variable name for better clarity

commit 7adb673a80a4fcaf8c5ca87369c5851fe2d7a0bf
Author: NewSoupVi <[email protected]>
Date:   Sat Nov 30 03:37:08 2024 +0100

    Core: "Fix" Priority Fill (#3592)

    * Priority fill -> Don't use one item per player

    * fix unit test thing

    * Ok, I think this should do it properly

commit 72e88bb493b465ad2cfb1c4250c9bed60fb220fa
Author: lordlou <[email protected]>
Date:   Fri Nov 29 21:36:00 2024 -0500

    SMZ3: generate without rom (#3461)

    * - SM now displays message when getting an item outside for someone else (fills ROM item table)

    This is dependant on modifications done to sm_randomizer_rom project

    * First working MultiWorld SM

    * some missing things:

    - player name inject in ROM and get in client
    - end game get from ROM in client
    - send self item to server
    - add player names table in ROM

    * replaced CollectionState inheritance from SMBoolManager with a composition of an array of it (required to generation more than one SM world, which is still fails but i…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
is: bug/fix Issues that are reporting bugs or pull requests that are fixing bugs. is: refactor/cleanup Improvements to code/output readability or organizization. waiting-on: core-review Issue/PR has been peer-reviewed and is ready to be merged or needs input from a core maintainer.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants